local role = require("role.Proto")
EquipAttr = {
	{"key",			1,      "int"},
	{"value",		1,      "double"},
	{"tip",			1 ,     "string"},
	{"other",	    1,      "int"},	                --1：加技能等级 2：冷却减少
}

GemInEquip = {
	{"id",          1,      "int"},                 --id
	{"name",        1 ,     "string"},              --名字
	{"icon",        1,      "int"},                 --图标
	{"price",       1,      "int"},                 --价格
	{"gemAttr",     3,      role.Attr},             --宝石属性
	{"k",           1,      "bit",          3},     --索引
	{"color",       1,      "bit",          3},     --颜色
	{"lv",          1,      "bit",          8},     --等级
	{"type",        1,      "bit",          3},     --类型，1为风，2为火，3为水，4为土
}

Item = {	
	{"values",			    5,			"int"},
	{"score",			    1,			"int"},
	{"autoUse",		        1,          "bit",  1},
	{"coolGroup",	        1,          "int"},
	{"coolTime",	        1,          "int"},
	{"leftCoolTime",        1,          "int"},
	{"canAppend",           1,          "bit",  1},
	{"sex",			        1,          "bit",  2},
	{"values_type",         1,          "bit",  3},   -- 值1
}

xilian = {
  {"key", 1, "int"},
  {"value", 1, "double"},
  {"star", 1, "int"}, --洗练星级
}

Equip = {
	{"baseAttr",5,EquipAttr},  --基础属性
	{"otherAttr", 5, role.Attr}, --其他属性（暂时是神将属性）
	{"gem",6,GemInEquip},      --宝石
	{"score",1,"int"},         --战斗力	
	{"source",1,"int"},        --形象
	{"callSkillID", 1, "int"}, --装备技能id
	{"strengthLv", 1, "int"},  --强化等级
	{"strengthAttr", 4, role.Attr}, --强化增加的属性
	{"xiLianAttr", 4, xilian},    --洗练属性
	{"xiLianPower", 1, "int"}, --洗练战力
	{"hole", 1, "bit", 3},     --孔
	{"sex",1,"bit",2},         --性别
	{"quality",1,"bit",5},     --品质
	{"pos", 1, "bit",5},       --装备位置
	{"dressType", 1, "bit", 3}, --给谁穿，1人，2马，3神将
}

gem = {
  {"key", 1, "int"},
  {"value", 1, "double"},
  {"type", 1, "int"}, --宝石类型，1为风，2为火，3为水，4为土
}

ItemData = {
	[-1] = true,
	{"id",1,"int"},
	{"icon",1,"int"},
	{"price",1,"int"},
	{"name",1 ,"string"},
	{"items",2,Item},
	{"gems",2, gem},
	{"equips",2,Equip},
	{"cnt",1,"int"},
	{"lifeTime",1,"int"},

	{"open",1,"bit",1},
	{"index",1,"int"},
	{"bind",1,"bit",1},
	{"lv",1,"bit",8},
	{"color",1,"bit",3},
	{"subType1", 1, "bit", 5},
	{"subType2", 1, "bit", 5},
	{"canSearch", 1,"bit",1},
	{"showUseDesc", 1, "bit", 1}, --得到道具是否提示
}

ItemDataW = {
	{"id",1,"int"},
	{"gems",2, role.Attr},
	{"equips",2,Equip},
	{"cnt",1,"int"},
	{"lifeTime",1,"int"},
	{"bind",1,"bit",1},
}

GC_BAG_LIST = {
	{"itemDatas",48, ItemData},
}

GC_BAG_CLEAR = {}

GC_BAG_ITEM_CHANGE = {
	{"op",			1,				"int"},
	{"itemData",	1,			 ItemData},
}

GC_BAG_RESULT = {
	{"result",1,"int"},
	{"tip",1 ,"string"}
}

CG_BAG_SORT = {}

CG_BAG_DISCARD = {
	{"index",1,"int"}
}

CG_BAG_SWAP = {
	{"srcIndex",1,"int"},
	{"tarIndex",1,"int"}
}

CG_BAG_DIVIDE = {
	{"srcIndex",1,"int"},
	{"tarIndex",1,"int"},
	{"cnt",1,"int"},
}

CG_ITEM_USE = {
	{"index",1,"int"},
	{"cnt",1,"int"}
}

--批量使用不固定格子道具
CG_ITEM_USE_BATCH = {
    {"itemID",      1,          "int"},             -- 道具ID
	{"cnt",         1,          "int"},             -- 批量使用数量
}

CG_ITEM_USE_SKILL = {
	{"index",1,"int"},	
	{"tx",1,"int"},
	{"ty",1,"int"},
	{"recv_id",1,"int"},
}

CG_BAG_ADD_CAP = {
  {"cnt", 1, "int"}--开启背包个数
}

GC_BAG_ADD_CAP = {
	{"op",1,"int"},
	{"cap",1,"int"},
}

CG_EQUIP_QUERY = {
	{"uuid", 1 , "string"},
}

GC_EQUIP_LIST = {
	{"name",1 ,"string"},
	{"uuid",1 ,"string"},
	{"itemDatas",15, ItemData},
	{"op",1,"bit", 2},
	{"result",1,"bit", 2},
}

GC_EQUIP_CHANGE = {
	{"itemData", 1, ItemData},
}

CG_EQUIP_PUT_ON = { --穿上装备
	{"index",1,"int"},	
}

GC_EQUIP_PUT_ON = {
	{"index",1,"int"},
	{"itemData",1, ItemData},
}

CG_EQUIP_PUT_OFF = {--脱下装备
	{"index",1,"int"},
	{"bagIndex",1,"int"},
}

GC_EQUIP_PUT_OFF = {
	{"index",1,"int"},
}

GC_SHOW_CANGBAO_ARROW = {
	{"index",			1,				"int"},
}

GC_BAG_CLOSE = {--背包关闭

}

GC_ITEM_GO_TO = {
	{"mapid", 1, "int"},
	{"x", 1, "int"},
	{"y", 1, "int"},
	{"staticID", 1, "int"},
	{"type", 1, "int"},
}

GC_ITEM_SEX_CHANGE = {
	{"objID",	1,  "int"},
	{"status", 1 , "int"},
	{"viewInfo", 1,	require("scene.Proto").ViewInfo},
	{"sex",		1,  "bit", 2},
	{"job",		1,  "bit", 2},
}

GC_EXEND_BOX_QUERY = {
	{"itemID",			1,				   "int"},
	{"yinliang",		1,				   "int"},
	{"yuanbao",			1,				   "int"},
	{"grids1",			3,				ItemData},
	{"grids2",			6,				ItemData},
	{"grids3",			6,				ItemData},
}

CG_GET_ITEM_INFO = {
  {"itemID",      1,           "int"},
}

GC_GET_ITEM_INFO = {
  {"itemData", 1, ItemData}
}

CG_SEARCH_OTHER = {--查看别人
  {"uuid", 1, "string"},
  {"type", 1, "int"}, --类型,1人物，2坐骑，3神兵，4宠物，5法宝
}

searchHero = {
  {"name", 1, "string"}, --名字
  {"vipLv", 1, "bit", 4}, --vip等级
  {"uuid", 1, "string"}, --uuid
  {"roleAttr", 200, role.Attr},   --角色属性
  {"equips", 13, ItemData}, --角色装备
  {"sbEffect", 1, "int"}, --神兵界面特效
  {"viewInfo",  1,  require("scene.Proto").ViewInfo},
  {"official", 1, "bit", 4},     --军衔
  {"familyName", 1, "string"},--军团名称
  {"titleName",  1, "string"},--称号名称
}

searchHorse = {--坐骑信息
  {"horse", 20, require("horse.Proto").horseInfo},
  {"stageLv", 1, "int"},
  {"starLv", 1, "int"},
  {"horseAttr", 20, role.Attr},
  {"horsePower", 1, "int"},
}
searchShenbing = {
  {"shenbing", 10, require("shenbing.Proto").shenBing},  --神兵信息
  {"sbAllAttr", 32, role.Attr},   -- 神兵总属性
}
searchPet = {
  {"pet", 10, require("pet.Proto").petInfo}, --神将信息
  {"petAllAttr", 32, role.Attr}, --神将总属性
  {"petAllPower", 1, "int"}, --神将总战力
}
searchBaowu = {
  {"baowu", 10, require("baowu.Proto").BaowuInfo}, --宝物信息
  {"baowuAllAttr", 10, role.Attr}, --宝物总属性
  {"baowuAllPower", 1, "int"}, --宝物总战力
}

searchArmour = {
    {"armourlist",                      6,                  require("armour.Proto").ST_ARMOUR_DATA},
    {"allAttr",                         10,                 role.Attr},
    {"allPower",                        1,                  "int"},
}

GC_SEARCH_OHTER = {--返回查询的人的资料
  {"hero", 2, searchHero}, --查询个人
  {"horse", 2, searchHorse}, --查询坐骑
  {"shenbing", 2, searchShenbing}, --查询神兵
  {"pet", 2, searchPet}, --查询宠物
  {"baowu", 2, searchBaowu}, --查询宝物
  {"armour", 2, searchArmour}, --查询战甲
}


CG_SMELT_INVITE_HELP = { --元宝熔炼邀请帮助
}

CG_SMELT_HELP_OTHER = { --帮助他人熔炼
  {"uuid", 1, "string"} --要帮助的人的id
}

CG_SMELT_CANCEL_HELP = { --取消帮助
  {"uuid", 1, "string"},  --帮助人的uuid
}

smeltHelpPeo = {
  {"name", 1, "string"}, --名字
  {"uuid", 1, "string"}, --uuid
  {"head", 1, "int"},   --头像
  {"type", 1, "int"},   --0是邀请者，1是帮助者
}
GC_SMELT_HELP_OTHER = {
  {"list", 6, smeltHelpPeo},
  {"isComplete", 1, "int"}, --是否完成，0未完成，1已完成，2取消帮助
}

CG_YUANBAO_SMELT = { --熔炼
}

GC_YUANBAO_SMELT_TIMES = { --熔炼次数
  {"totalTimes", 1, "int"}, --可熔炼次数
  {"smeltTimes", 1, "int"}, --已熔炼次数
}

CG_YUANBAO_SMELT_PUT_INTO = { --投入元宝  
}

GC_YUANBAO_SMELT_HELP_TIMES = { --协助熔炼次数
  {"times", 1, "int"},  --剩余协助次数
}

GC_YUANBAO_SMELT_IS_PUT = {--是否已投入元宝
  {"isPut", 1, "int"},  --1代表已投入元宝,0代表未投入元宝
}
--神将，坐骑，神兵培养消耗的银两
GC_FEED_ATTR_NEED_YINLIANG = {
  {"type", 1, "int"}, --1坐骑，2神兵，3神将
  {"yinliang", 1, "int"}, --消耗的银两
}
